import _ from 'lodash';

function setNumSort(value, ArrSort) {
  if (_.isArray(ArrSort)) {
    return ArrSort.indexOf(value) + 1
  }
  return 0;
}
function keyValue2ArrObj(kvp) {
  let arr = [];
  _.forIn(kvp, (v, k) => {
    arr.push({ label: v, value: k })
  })
  return arr
}


let format = {
  appList: function (data) {
    const ARRSORT = ['杭州顶点财经二分', '顶点二分', '顶点财经二分']
    return data.map((v) => {
      let r = {
        numSort: setNumSort(v.companyName, ARRSORT),
        name: v.companyName,// 公司名称
        id: v.eSCompanyId,// 企业微信id
        // unread: v.noReadingCount,//后面setListApp有要求偏差的统计（非置顶的不参与）
        list: v.agentList.sort((a, b) => {
          return b.dSortId - a.dSortId;//	置顶排序
        }).map((sv) => {
          let sr = {
            pid: v.eSCompanyId,
            name: sv.name,// 应用名称
            id: sv.agentid,// 应用ID
            icon: sv.squarelogourl,// 企业应用方形头像
            isTop: sv.isTop,// 是否置顶
            isHidden: !sv.isHide,// 是否隐藏,后端没有修改的意图,只好前端适配了
            unread: sv.noReadingCount// 未读数
          }
          return sr;
        }),
      }
      return r
    }).sort((a, b) => {
      return b.numSort - a.numSort
    })
  },
  cusList: function (data) {
    const ARRSORT = [3]
    const defSelfTag = [{
      type: 0,
      typeName: "",
      isMultiple: false,
      selfTags: []
    }]
    return data.map((v, i) => {
      let selfTag = (v.selfTag.length > 0 ? v.selfTag : defSelfTag).map((v) => {
        v.numSort = setNumSort(v.type, ARRSORT)
        return v;
      })
      return {
        id: v.userid,// 企业微信成员id
        eSCompanyId: v.eSCompanyId,// 重要属性,激活用户同时使用该属性激活对应平台(展开折叠),但应用没有对应
        nickname: v.name, // 成员名称,可用户修改
        face: v.avatar, // 头像url
        unread: v.noReadingCount,// 未读数,文档上没有标注
        isStar: v.isStar,
        lastMsg: Boolean(v.lastMsg) ? v.lastMsg : '',// 最后一条消息内容
        lastTime: v.lastMsgTime,// 最后一条消息时间
        selfTag: selfTag.sort((a, b) => { return b.numSort - a.numSort }),//客户进度标签，客服修改单选
        tel: v.mobile, // 电话号码
        type: v.lastMsgType,
      };
      //按后端数据库要求,从客户检索平台app时只有对应唯一的平台id及旗下若干个应用id
      //在不同平台下可以有多个客户id从属于同一个实体客户,但针对用户检索平台时依上述规则只能检出1个数据
    })
  },
}



export { setNumSort, keyValue2ArrObj }
